<?php

/**
 * 网站配置参数
 */
class config {
    /**
     * 配置文件所在的路径
     * @var string
     */
    private $dir = __DIR__;
    static private $web;
    static private $db;

    /**
     * 当前环境，test:测试，dev:开发，live：正式环境
     */
    const Z_ENV = 'live';

    /**
     * 调试开关  是否打开调试。
     */
    const DEBUG = true;

    /**
     * 是否启用 SMARTY 模板模式
     */
    const SMARTY_SWITCH = false;

    /**
     * 初始化
     */
    public function __construct() {
        if (in_array(self::Z_ENV, array('dev', 'test'))) {
            $this->dir = __DIR__ . '/' . self::Z_ENV;
        }
    }

    /**
     * 是否已经打开调试
     * @return bool
     * @author {AUTHOR}
     * @date   {DATE}
     */
    public function isDebug(){
        return self::DEBUG;
    }

    /**
     * 是否是生产环境模式
     * @return bool
     * @author {AUTHOR}
     * @date   {DATE}
     */
    public function isLive(){
        return self::Z_ENV === 'live';
    }

    /**
     * 是否是测试环境模式
     * @return bool
     * @author {AUTHOR}
     * @date   {DATE}
     */
    public function isTest(){
        return self::Z_ENV === 'test';
    }

    /**
     * 是否是开发环境模式
     * @return bool
     * @author {AUTHOR}
     * @date   {DATE}
     */
    public function isDev(){
        return self::Z_ENV === 'dev';
    }


    /**
     * 网站页面配置
     * @return config_web
     */
    public function web() {
        if(empty(self::$web)) {
            $f = $this->dir . '/web.php';
            if(!file_exists($f)){
                die('Not Find:'.$f.'<br>File:'.__FILE__.'<br>Line:'.__LINE__);
            }
            require $f;
            self::$web = new \config_web();
        }
        return self::$web;
    }

    /**
     * 数据库配置信息
     * @return config_db
     */
    public function db() {
        if(empty(self::$db)) {
            require $this->dir . '/db.php';
            self::$db = new \config_db();
        }
        return self::$db;
    }
}